home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / Ant Movie Catalog 3.5.0.2 / amc_install.exe / {app} / Scripts / Vervideo (Br).ifs < prev    next >
Text File  |  2005-05-24  |  7KB  |  191 lines

  1. (***************************************************
  2.  
  3. Ant Movie Catalog importation script
  4. www.antp.be/software/moviecatalog/
  5.  
  6. [Infos]
  7. Authors=O Guardiπo (<link>bruno_mga@hotmail.com</link>)
  8. Title=Vervideo
  9. Description=Movie importation script for vervideo.com.br
  10. Site=www.vervideo.com.br
  11. Language=PT
  12. Version=1.1 - 24 Maio 2005
  13. Requires=3.5.0
  14. Comments=Caso detectem erros coloquem-nos no meu site: <link>www.guardiao.pt.vu</link> ou enviem para o email: bruno_mga@hotmail.com
  15. License=This program is free software; you can redistribute it and/or modify it under the  terms of the GNU General Public License as published by the Free Software Foundation;  either version 2 of the License, or (at your option) any later version. |
  16. GetInfo=1
  17.  
  18. [Options]
  19.  
  20. ***************************************************)
  21.  
  22. program Vervideo;
  23. uses StringUtils1;
  24. var
  25.   MovieName, MovieURL: string;
  26.   LineNr, BeginPos, EndPos: Integer;
  27.  
  28. procedure AnalyzeFilmPage(Address: String);
  29. var
  30.   Page : TStringList;
  31.   Value,value2 : string;
  32. begin
  33.   Page := TStringList.Create;
  34.   Page.Text := UTF8Decode(GetPage(Address));
  35.   SetField(fieldURL, Address);
  36.  
  37.     LineNr := FindLine('<td align="center" valign="top"><strong>', Page, 0);
  38.     value := Page.GetString(LineNr);
  39.     value:=Copy(value,43,length(value));
  40.     EndPos := pos('</strong>', value);
  41.     value:=copy(value,1,EndPos-1);
  42.     SetField(fieldTranslatedTitle, value);
  43.     
  44.     value := Page.GetString(LineNr+1);
  45.     BeginPos:=Pos('[ ',value)+2;
  46.     EndPos:=Pos(' ]</td>',value);
  47.     value:=Copy(value,BeginPos,EndPos-BeginPos);
  48.     SetField(fieldOriginalTitle, value);
  49.     
  50.     LineNr := FindLine('<strong>Ano:</strong><br>', Page, 0);
  51.     value := Page.GetString(LineNr);
  52.     value:=Copy(value,26,length(value));
  53.     HTMLRemoveTags(value);
  54.     HTMLDecode(value);
  55.     value:=StringReplace(value,' ','');
  56.     SetField(fieldYear, value);
  57.  
  58.     LineNr := FindLine('<strong>Origem:</strong><br>', Page, 0);
  59.     value := Page.GetString(LineNr);
  60.     value:=Copy(value,32,length(value));
  61.     HTMLRemoveTags(value);
  62.     HTMLDecode(value);
  63.     value:=StringReplace(value,' ','');
  64.     SetField(fieldCountry, value);
  65.  
  66.     LineNr := FindLine('<strong>Genero</strong>:<br>', Page, 0);
  67.     value := Page.GetString(LineNr);
  68.     value:=Copy(value,32,length(value));
  69.     HTMLRemoveTags(value);
  70.     HTMLDecode(value);
  71.     value:=StringReplace(value,' ','');
  72.     SetField(fieldCategory, value);
  73.  
  74.     LineNr := FindLine('<td><strong>Direção:</strong>', Page, 0)+2;
  75.     value := Page.GetString(LineNr);
  76.     BeginPos:= pos('<a href',value);
  77.     EndPos := pos('</a>',value);
  78.     value:=Copy(value,BeginPos,EndPos-BeginPos);
  79.     HTMLRemoveTags(value);
  80.     HTMLDecode(value);
  81.     SetField(fieldDirector, value);
  82.  
  83.     value := Page.text;
  84.     BeginPos := Pos('<td><strong>Atores:</strong>', value);
  85.     value:=Copy(value,BeginPos,Length(value));
  86.     EndPos := pos('</td>',value);
  87.     value:=Copy(value,1,EndPos-1);
  88.     
  89.     repeat
  90.       BeginPos:=pos('">',value)+2;
  91.       EndPos:=pos('</a>',value);
  92.       value2:=value2+Copy(value,BeginPos,EndPos-BeginPos)+', ';
  93.       value:=Copy(value,EndPos+4,length(value));
  94.     until (pos('">',value)=0);
  95.       value2:=Copy(value2,1,length(value2)-3);
  96.       SetField(fieldActors, value2);
  97.       
  98.     LineNr := FindLine('<td valign="top"><div align="justify">', Page, 0);
  99.     value := Page.GetString(LineNr);
  100.     BeginPos:= pos('<td valign="top"><div align="justify">',value)+38;
  101.     EndPos := pos('</div></td>',value);
  102.     value:=Copy(value,BeginPos,EndPos-BeginPos);
  103.     HTMLRemoveTags(value);
  104.     HTMLDecode(value);
  105.     SetField(fieldDescription, value);
  106.     
  107.     LineNr:=FindLine('<strong>Duração:</strong>',Page,0);
  108.     value := Page.GetString(LineNr);
  109.     BeginPos:=Pos('<br>',value);
  110.     EndPos:=Pos(' min',value);
  111.     value:=Copy(value,BeginPos,EndPos-BeginPos);
  112.     value:=StringReplace(value,' ','');
  113.     HTMLRemoveTags(value);
  114.     HTMLDecode(value);
  115.     SetField(fieldLength, value);
  116.     
  117.     LineNr:=FindLine('<strong>Distribuidora:</strong>',Page,0);
  118.     value := Page.GetString(LineNr);
  119.     BeginPos:=Pos('<br>',value);
  120.     value:=Copy(value,BeginPos,Length(value));
  121.     value:=StringReplace(value,' ','');
  122.     HTMLRemoveTags(value);
  123.     HTMLDecode(value);
  124.     SetField(fieldProducer, value);
  125.  
  126.     LineNr := FindLine('<td rowspan="7" valign="top" align="center">', Page, 0)+2;
  127.     value := Page.GetString(LineNr);
  128.     BeginPos:=Pos('<img src="',value)+10;
  129.     EndPos:=Pos('" border="1"',value);
  130.     value:=Copy(value,BeginPos,EndPos-BeginPos);
  131.     GetPicture(Value);
  132. end;
  133.  
  134. procedure AnalyzePage(Address: string);
  135. var
  136.   Page: TStringList;
  137.   x:integer;
  138.   MovieAddress, findMovieName,linedown : string;
  139.   guardar, nome_filme:string;
  140. begin
  141.   PickTreeClear;
  142.   Page := TStringList.Create;
  143.   Page.Text :=UTF8Decode(GetPage(Address));
  144.  
  145.   if Pos('NΓo foram encontrados filmes com essas caracterφsticas', Page.Text)<>0  then
  146.   begin
  147.       ShowMessage('O filme nπo foi encontrado.');
  148.       Exit;
  149.   end
  150.   else
  151.   begin
  152.   repeat
  153.   repeat
  154.       x := FindLine('bt-proxima.gif', Page, 0);
  155.       if x<>-1 then
  156.         guardar := Page.GetString(x);
  157.       BeginPos:=Pos('filme.cfm?cod=',Page.Text);
  158.       Page.Text:=Copy(Page.Text,BeginPos,Length(Page.Text));
  159.       EndPos:=Pos('"',Page.Text);
  160.       MovieURL:='http://www.vervideo.com.br/'+Copy(Page.Text,1, EndPos-1);
  161.       BeginPos:=Pos('<br>',Page.Text)+4;
  162.       EndPos:=Pos('</a>',Page.Text);
  163.       nome_filme:= Copy(Page.Text,BeginPos, EndPos-BeginPos);
  164.       PickTreeAdd(nome_filme, MovieURL);
  165.       Page.text:=Copy(Page.text,EndPos,Length(Page.Text));
  166.     until (Pos('filme.cfm?cod=', Page.Text)=0);
  167.   if Pos('bt-proxima.gif',guardar)<>0 then
  168.   begin
  169.      BeginPos:=Pos('pagina(',guardar)+7;
  170.      EndPos:=Pos(');"',guardar);
  171.      guardar:=Copy(guardar,BeginPos, EndPos-BeginPos);
  172.      Page.Text :=UTF8Decode(GetPage('http://www.vervideo.com.br/busca.cfm?palavra='+MovieName+'&ator=&diretor=&sinopse=&genero=0&origem=0&distribuidora=0&ano=&trailer=&wallpaper=&pagina='+guardar+'&buscar=Buscar'));
  173.   end
  174.   else
  175.   break
  176.  until (guardar='');
  177.     if PickTreeExec(Address) then
  178.       AnalyzeFilmPage(Address);
  179.     Page.Free;
  180.   end;
  181. end;
  182. begin
  183.   MovieName := GetField(fieldOriginalTitle);
  184.   if Input('Importar do Vervideo', 'Escreva o nome do filme:', MovieName) then
  185.   begin
  186.     MovieName:=StringReplace(MovieName,' ','+');
  187.     AnalyzePage('http://www.vervideo.com.br/busca.cfm?buscar=Buscar&palavra='+MovieName);
  188.   end;
  189. end.
  190.  
  191.